package control;

import java.awt.Image;

import datos.CargarDeArchivo;

import maquinas.Tractor;
import TDAListaSE.EmptyListException;
import TDAListaSE.Iterator;
import TDAListaSE.ListaSE;
import TDAListaSE.NoSuchElementException;

public class Sistema {

	protected ListaSE<Tractor> tractores;	
	protected CargarDeArchivo CDA;
	protected Tractor tAux;			// lo utilizo para tener una referencia al tractor que estoy cargando
	
	public Sistema (){
		tractores = new ListaSE<Tractor>();
		CDA = new CargarDeArchivo(this);
	}
	
	public void addTractor(String newMarca, String newModelo, String estado, String anio, String precio){
		tAux = new Tractor(newMarca,newModelo, estado,anio,precio);
		tractores.addLast(tAux);
	}
	
	public void addFoto(String dir) {
		tAux.addFoto(dir);
	}
	
	public void actualizar(){
		tractores = new ListaSE<Tractor>();
		CDA.Actualizar();
		mostrar();
	}
	
	public void mostrar(){
		Iterator<Tractor> it = tractores.iterator();
		try {
			while(it.hasNext()){
				Tractor aux = it.next();
				System.out.println("tractor 1= "+ aux.getFotos().first().element());
				System.out.println(" --- ");
			}
		} catch (EmptyListException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NoSuchElementException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	//retorna la lista de fotos del tractor en la posicion  pos de la lista de tractores
	public ListaSE<String> getFotos(int pos){
		Iterator<Tractor> it = tractores.iterator();
		int cont = 0;
		Tractor aux = null;
		while (it.hasNext()&&(cont < pos+1)){
			try {
				aux = it.next();
				cont ++;
			} catch (NoSuchElementException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return aux.getFotos();
	}
	
	public ListaSE<Tractor> getTractores(){
		return tractores;
	}
}
